package main

import "fmt"

func main() {
	//1.关于 cap() 函数的适用类型，下面说法正确的是(ABD)
	//A. array
	//B. slice
	//C. map
	//D. channel

	var a [5]int = [5]int{1, 2, 3, 4, 5}
	fmt.Println(cap(a))

	var b []int = []int{1, 2, 3, 4, 5}
	fmt.Println(cap(b))

	//var c map[string]int = map[string]int{"a": 1, "b": 2, "c": 3}
	//fmt.Println(cap(c)) //error

	var d chan int = make(chan int, 10)
	fmt.Println(cap(d))

	//-------------------------------------------------
	var i interface{}
	if i == nil {
		fmt.Println("nil") //nil
		return
	}
	fmt.Println("not nil")

	//--------------------------
	s := make(map[string]int)
	delete(s, "h")
	fmt.Println(s["h"]) //删除 map 不存在的键值对时，不会报错，相当于没有任何作用；获取不存在的减值对时，返回值类型对应的零值，所以返回 0。
}
